package com.example.demo.springbootdemo.demos;

import jakarta.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

// @RestController == @Controller + @ResponseBody
@Controller // 这个是放回页面 不过在前后端分离后 就不太适用了
@RequestMapping("/return")
public class ReturnController {
    // 返回页面
    @RequestMapping("/index")
    public String toIndex() {
        return "/index.html";
    }

    // 在 @Controller 注解下返回数据
    @ResponseBody
    @RequestMapping("/r2")
    public String r2() {
        return "/index.html";
    }

    @ResponseBody
    @RequestMapping("/returnHTML")
    public String returnHTML() {
        return "<h1> 我是一个标题 </h1>";
    }

    // 设置状态码（HTTP的）
    @ResponseBody
    @RequestMapping("/setStatus")
    public String setStatus(HttpServletResponse response) {
        response.setStatus(404);
        return "设置状态码";
    }

    // 设置 Header
    @ResponseBody
    @RequestMapping(value = "/setHeader", produces="application/json;charset=utf8")
    public String setHeader() {
        return "设置为JSON模式";
    }
}
